package com.itheima;
/*
1.时间日期类
    1.1Date类（应用）
        计算机时间原点:1970年1月1日 00：00：00
       概述：代表了一个特定的时间，精确到毫秒
       构造方法：Date(),Date(long date)
    1.2常用方法（应用）
        getTime(),setTime(long time)
    1.3SimpleDateFormat类（应用）
        概述：是一个具体的类，用于格式化和解析日期
        构造方法：public SimpleDateFormat()默认模式和日期格式
                 public SimpleDateFormat(String pattern)指定的
        常用方法：
            格式化：（从Date到String）
                format(Date date):
            解析：(从String到Date)
                parse(String s)

 */

import java.sql.SQLOutput;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Date_review {
    public static void main(String[] args) throws ParseException {
        //当前系统时间
        //Date d =new Date();
        //System.out.println(d);
        //从时间原点增加的毫秒值时间
        //myDatePlusTime();
        //获得到时间原点的毫秒值
        //myDateGetTime(d);
        //过了多少年
        //getDateNowYear(d);
        //设置时间，给的是毫秒
        //myDateSetTime(d);
        //默认格式化,当前系统的默认模式
        //myDefualtFormat(d);
        //指定模式格式化
        //myAppointFormat(d);
        //解析
        //myDateParse();


    }
    //解析
    private static void myDateParse() throws ParseException {
        //解析
        String s = "2020/11/11 11:11:11";
        SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        Date parse = format.parse(s);
        System.out.println(parse);
    }
    //指定模式格式化
    private static void myAppointFormat(Date d) {
        //指定模式格式化
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println(sdf2.format(d));
    }
    //默认格式化,当前系统的默认模式
    private static void myDefualtFormat(Date d) {
        //默认格式化,当前系统的默认模式
        SimpleDateFormat sdf1 = new SimpleDateFormat();
        System.out.println(sdf1.format(d));
    }
    //设置时间，给的是毫秒
    private static void myDateSetTime(Date d) {
        //设置时间，给的是毫秒
        d.setTime(1000L*3600*24);
        System.out.println(d);
    }
    //获得到时间原点的毫秒值
    private static void myDateGetTime(Date d) {
        //获得到时间原点的毫秒值
        System.out.println(d.getTime());
    }
    //从时间原点增加的毫秒值时间
    private static void myDatePlusTime() {
        //从时间原点增加的毫秒值时间
        Date d1 = new Date(100L*24*3600*1000);
        System.out.println(d1);
    }
    //过了多少年
    private static void getDateNowYear(Date d) {
        //过了多少年
        System.out.println(d.getTime() * 1.0 / 1000 / 3600 / 24 / 365+"年");
    }
}
